<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 5/18 0018
 * Time: 14:31
 */


/******************************************************** 接口通用返回部分 **************************************************/

/**
 * @param string $data
 * 清楚数据内的null
 */
function clear_null(&$data = ''){
    $data = json_decode(json_encode($data),true);
    if($data === null || $data === false){
        $data = [];
    }
    if(is_array($data) && !empty($data)){
        foreach($data as &$v){
            if($v === null || $v === false){
                $v = '';
            }else if(is_array($v)){
                clear_null($v);
            }else if(is_string($v) && stripos($v,'.') === 0){
                $v = '0'.$v;
            }
        }
    }
}
/**
 * json API 返回成功
 * @param string $msg
 * @param array $data
 * @return array
 */
function json_success($msg = '',$data = []){
    $return = [
        'code'	=> '1',
        'msg'		=> $msg,
        'data'		=> $data,
    ];
    clear_null($return['data']);
    return $return;
}

/**
 * json API 返回失败
 * @param $msg
 * @param array $data
 * @return array
 */
function json_error($msg,$data = []){
    $msg = $msg ? : '服务器错误，请稍后重试';
    $return =  [
        'code'	=> '0',
        'msg'		=> $msg,
        'data'		=> $data,
    ];
    clear_null($return['data']);
    return $return;
}

/**
 * json API 返回需要登录
 * @param $msg
 * @param array $data
 * @return array
 */
function json_login($msg = '',$data = []){
    $msg = $msg ? : '登录失效，请重新登录';
    $return =  [
        'code'	=> '2',
        'msg'		=> $msg,
        'data'		=> $data,
    ];
    clear_null($return['data']);
    return $return;
}

/**
 * json API 根据变量自动判断返回成功或失败
 * @param $var
 * @param string $error_msg
 * @param string $success_msg
 * @param array $data
 * @return array
 */
function json_return($var,$error_msg = '服务器错误，请稍后重试',$success_msg = 'OK',$data = []){
    if($var === false || $var === null){
        return json_error($error_msg,$data);
    }else{
        return json_success($success_msg,$data);
    }
}
